/*******
 * @description: 获取时间间隔
 * @author: 琴时
 * @param {start_Time} [开始时间]
 * @param {end_Time} [结束时间]
 * @return {*} 处理好的时间间隔相关对象
 */
export const getTimeDistance = (start_Time, end_Time) => {
  const startTime = +new Date(start_Time) // 开始时间戳
  const endTime = +new Date(end_Time) // 结束时间戳
  const times = (endTime - startTime) / 1000 // 剩余时间总的秒数
  const dd = parseInt(times / 60 / 60 / 24)
    .toString()
    .padStart(2, '0') //天
  const hh = parseInt(((times / 60 / 60) % 24) + '')
    .toString()
    .padStart(2, '0') //时
  const mm = parseInt(((times / 60) % 60) + '')
    .toString()
    .padStart(2, '0') //分
  const ss = parseInt((times % 60) + '')
    .toString()
    .padStart(2, '0') //秒
  if (ss < 0 || mm < 0 || hh < 0 || dd < 0) return null
  return {
    timeStr: `${dd}天${hh}时${mm}分${ss}秒`,
    timeStamp:times,//剩余时间秒数
    timeDistance: {
      dd,
      hh,
      mm,
      ss,
    },
    week: dd > 0 && dd < 7, //7天内
    month: dd > 0 && dd < 30, //30天内
    year: dd > 0 && dd < 365, //一年内
  }
}

/**
 * 测试用例
 * 将src/index.js底部执行函数:selectTest(params)的实参params改为1
 * 直接无法测试，请使用npm run dev或者去掉 export 使用node运行当前界面测试即可
 */
console.log('测试获取时间间隔:', getTimeDistance('2021-5-20', '2021-7-1'))
